The Surf-to-Edit feature of your CM website might be sluggish on some of your external web servers due to latency in communicating with the iMIS database. For example, it is common for your public-facing web servers to be hosted at a different data center than your iMIS database. You can improve performance by setting up a mirror of the website on your iMIS application server, then directing your frequent Surf-to-Edit users to the appserver’s URL for the website instead of using the public URL. Note that if your Surf-to-Edit users are working at computers that are outside your organization’s firewall, they will need VPN access (or access through a terminal server, etc.) to connect to the appserver-hosted version of the website.
Changes to the website’s content records and navigation items that are made on any server that hosts the website are automatically picked up by every other server when you publish the changes. However, images that are uploaded during a Surf-to-Edit session must be manually copied to all other servers. Additionally, changes that your web admins make to the site’s CSS, master page, and other aspects of the site’s template on one server must also be manually copied to all other servers.
To improve your Surf-to-Edit performance
The following procedure assumes that you already have an external CM website on which your Surf-to-Edit users are experiencing slow performance. You will be changing the website’s definition to also host the website on your application server, then advising your Surf-to-Edit users to use the new appserver-hosted website for their Surf-to-Edit sessions.
1. Modify the website’s definition to specify that it be hosted by your iMIS application server too.
□ In the Site Designer tool, select Manage websites.
□ Select the website you want to modify, then from the toolbar choose Edit.
□ In the URL(s) pointing to the IIS website root field, enter a comma-delimited list of URLs that point to the root of the iMIS15 application on your iMIS appserver and to the root of the CM application that you installed on each external web server. For example, if you already had two external web servers defined for this website, the list should look similar to the following when you’ve added the URL that points to your iMIS15 appserver: http://www.mypublicdomain1.org/wcm/,http://www.mypublicdomain2.org/wcm/,http://www.myiMISappserver.com/imis15/.
□ If using SSL, add the secure addresses to the Secure URL(s) pointing to this website root field in the same order as above.
Important: Restart IIS whenever you change the Secure URL(s) pointing to the IIS website root setting. Note that localhost is not a valid Secure URL.
□ Save your changes.
□ From the toolbar, select Publish.
□ Select Publish children as well? to publish all of the website’s navigation items to the new instance of this website on the iMIS application server , then click OK. Note that the website’s content records will not be visible on this new instance until a later step.
□ It may take up to 15 minutes for the public and internal sites to reflect the updated navigation.
2. Modify the definition of all content folders used by this website to also publish their content records to the new instance of this website on the iMIS application server. This will usually be only the website’s root content folder (the one with the same name as the website itself), but your organization might also have some additional content folders that are used for content shared among several different websites. For each of these content folders, perform the following steps:
□ In the Content Designer tool, select Manage content.
□ Select the content folder you want to configure.
□ From the toolbar, choose Edit.
□ From the Publish on Servers dropdown list:
□ If the current value is Inherit, do not change the value.
□ If the value is Custom, then leave all currently selected checkboxes alone and also select the checkbox for the publishing server code used by your iMIS application server.
□ Save your changes.
□ From the toolbar, select Publish.
□ Select Publish All Items to include all of the folder’s content records, and click OK.
□ Repeat the steps for each content folder used by the website.
3. Make sure the website’s template files exist on the public CM server, the appserver, and, if using, the internal CM server. If the files are missing from any of the servers, manually copy the files to the corresponding locations.
4. To verify that your changes are successful, visit your public CM website and the appserver’s website (e.g. http://www.mydomain.com/imis15/WebsiteName/).
5. Advise your frequent Surf-to-Edit users to visit the URL for the iMIS appserver-hosted instance of the website and avoid using the public-facing URLs.
Changes that must be manually copied between the appserver and public CM server
In all situations where you have more than one server hosting the same website, there are certain actions that you must ensure are duplicated on all servers that host the website.
Modifying the website’s look and feel
If you modify the website’s CSS or master page, or if you apply a different template to the website, you must manually copy the changed files to the public CM server (and to the internal CM server, if using).
Uploading images
If you upload an image using CM’s Image Manager, you must manually copy the image to the public CM server (and to the internal CM server, if using). You can manually copy the image between the servers by direct FTP or file copy, or by using CM’s Surf-To-Edit to access a ContentHTML iPart on the server.
When including images in a ContentHTML iPart, modify the automatically-generated Image URL and replace the server name and virtual directory with [Root]. For example, if the Image URL is /imis15/images/mypic.jpg, change it to [Root]images/mypic.jpg. This ensures the image uses the correct path when published on other servers, which may use different virtual directories. The image appears as a “missing image” red X when editing the ContentHTML iPart, but it correctly displays when published.
Note: This is not necessary for ContentFile iParts, which are stored in the database and are automatically copied to remote servers when published.
Modifying navigation area properties
If you modify navigation area properties (via the Surf-To-Edit link in the Navigation Areas section of the Website Edit screen) you may need to reset the CM server’s worker process to get it to pick up the changes.
Publishing server issue
When publishing content, CM will not consider the content successfully published until all relevant publishing servers have finished publishing it without error. That means that if one of the publishing services corresponding to any of the publishing servers listed in Content Management > Maintenance > Publishing servers is stopped or otherwise inactive, content records will remain in the PublishPending state until the publishing service is started or the entry in Publishing servers is removed and the content is republished.